package br.com.getdiscount.tcc.model.preco;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import br.com.getdiscount.base.model.Entity;
import br.com.getdiscount.tcc.model.origem.Origem;
import br.com.getdiscount.tcc.model.produto.Produto;
import br.com.getdiscount.tcc.model.tempo.Tempo;

@SuppressWarnings("serial")
@javax.persistence.Entity
@Table(name = "ebiftpreco")
public class Preco extends Entity {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "nuseqpreco")
	private Integer nuSeqPreco;
	
	@Column( name = "cdorigem" )
	private String cdOrigem;
	
	@Column( name = "cdproduto" )
	private String cdProduto;
	
	@Column( name = "cdtempo" )
	private String cdTempo;

	@Column( name = "vlpreco" )
	private Double vlPreco;
	
	@Transient
	private String tipoOrdenacao;
	
	@Transient
	private String atributoOrdenacao;
	
	@ManyToOne
	@JoinColumn(name = "cdOrigem", updatable=false, insertable=false)
	private Origem origem;
	
	@ManyToOne
	@JoinColumn(name = "cdProduto", updatable=false, insertable=false)
	private Produto produto;
	
	@ManyToOne
	@JoinColumn(name = "cdTempo", updatable=false, insertable=false)	
	private Tempo tempo;
	
	public Preco() {
		setOrigem(new Origem());
		setProduto(new Produto());
		setTempo(new Tempo());
	}
	
	public Origem getOrigem() {
		return origem;
	}

	public void setOrigem(Origem origem) {
		this.origem = origem;
	}

	public Produto getProduto() {
		return produto;
	}

	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	public Tempo getTempo() {
		return tempo;
	}

	public void setTempo(Tempo tempo) {
		this.tempo = tempo;
	}

	public Integer getNuSeqPreco() {
		return nuSeqPreco;
	}

	public void setNuSeqPreco(Integer nuSeqPreco) {
		this.nuSeqPreco = nuSeqPreco;
	}

	public String getCdOrigem() {
		return cdOrigem;
	}

	public void setCdOrigem(String cdOrigem) {
		this.cdOrigem = cdOrigem;
	}

	public String getCdProduto() {
		return cdProduto;
	}

	public void setCdProduto(String cdProduto) {
		this.cdProduto = cdProduto;
	}

	public String getCdTempo() {
		return cdTempo;
	}

	public void setCdTempo(String cdTempo) {
		this.cdTempo = cdTempo;
	}

	public Double getVlPreco() {
		return vlPreco;
	}

	public void setVlPreco(Double vlPreco) {
		this.vlPreco = vlPreco;
	}

	public String getTipoOrdenacao() {
		return tipoOrdenacao;
	}

	public void setTipoOrdenacao(String tipoOrdenacao) {
		this.tipoOrdenacao = tipoOrdenacao;
	}

	public String getAtributoOrdenacao() {
		return atributoOrdenacao;
	}

	public void setAtributoOrdenacao(String atributoOrdenacao) {
		this.atributoOrdenacao = atributoOrdenacao;
	}
	
}
